Hardware to Software Migration with Real-Time Thread Integration
نویسندگان
چکیده
This paper introduces thread integration, a new method of providing low-cost concurrency for microcontrollers and microprocessors. This post-pass compiler technology effectively interleaves multiple threads of control at the instruction level for execution on a uniprocessor and implicitly provides very fine-grain multithreading without context switching overhead. Such efficient concurrency allows implementation of real-time functions in software rather than dedicated peripheral hardware. Thread integration's position in the design space is evaluated to help identify when and where to apply the technique. A number of code transformations have been developed that allow a guest thread of computation to be systematically integrated into a host thread while meeting all the real-time requirements of the guest thread. The thread integration concept and the associated code transformations have been successfully applied to several example applications. Designers of embedded systems must often deal with very restrictive cost, power, size and weight constraints. Recurring costs become very significant as production volumes reach millions of units per year, encouraging manufacturers to invest in substantial up-front engineering to reduce costs. Battery operated equipment is very sensitive to power consumption as battery-life expectations grow in the marketplace. Size and weight constraints affect portable electronics as well as subsystems for avionics, automotive and other applications. Real-time requirements in system specifications can exacerbate these constraints by forcing the use of additional hardware or software dedicated to meeting real-time task deadlines. Dedicated peripheral hardware can be added to the system to perform the time-critical operations. However, this addition increases system cost, makes the system larger and heavier and increases power consumption. The time critical operations can be implemented in software, given a sufficiently fast processor. Processing a single task with events scheduled through busy waiting becomes inefficient as idle times rise when event frequencies fall. Task switching allows processing resources to be shared with another task, but the overhead incurred by saving state information reduces efficiency and limits the maximum switching rate. Integrated circuit fabrication technology and architectural advances continue to reduce the cost of microprocessor compute cycles. As this trend continues, the recurring cost penalty of implementing functions in dedicated peripheral hardware rather than in software on the microprocessor will rise, encouraging software implementations. This paper presents the concept of thread integration, a compile-time technique for interleaving multiple threads of computation at the instruction level and hence providing multithreading on a generic uniprocessor without context switching overhead. This technique uses the ever-cheaper compute …
منابع مشابه
Compiling for Fine-Grain Concurrency: Planning and Performing Software Thread Integration
Embedded systems require control of many concurrent real-time activities, leading to system designs which feature multiple hardware peripherals with each providing a specific, dedicated service. These peripherals increase system size, cost, weight, power and design time.Software thread integration (STI) provides low-cost thread concurrency on general-purpose processors by automatically interlea...
متن کاملTechniques for Software Thread Integration in Real-Time Embedded Systems
Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works, must be obtained from the IEEE. Abstract This paper presents how to perform thread integration to provid...
متن کاملThread Integration in Real - Time Embedded Systems
Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works, must be obtained from the IEEE. Abstract This paper presents how to perform thread integration to provid...
متن کاملSystem-Level Issues for Software Thread Integration: Guest Triggering and Host Selection
Software thread integration provides low-cost con-currency on general-purpose processors by automatically interleaving multiple threads of control into one. This simplifies hardware to software migration and can help embedded system designers meet design constraints. Previous work describes how to efficiently integrate threads. In this paper we demonstrate how to link trigger events with guest ...
متن کاملObservability in Multiprocessor Real-Time Systems with Hardware/Software Co-Simulation
As an alternative to traditional software debuggers and hardware logic simulators, hardware/software coverification tools have been introduced in novel design processes for the embedded systems market. The main idea behind co-verification is to reduce design time by enabling an early integration of hardware and software development. However, with this approach, several new aspects on software d...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1998